/**
 * @file fsio.h
 * @brief Entrées-Sorties
 * @author Radim BADSI, Kévin CHAPON, Fanny FERLET
 */

#ifndef FSIO_H
#define FSIO_H

#include "matrice.h"

/**
 * Charge le contenu d'un fichier dans la matrice.
 * @param matrice Matrice
 * @param tab_clauses tableau de clauses
 * @param tab_variables tableau de variables
 * @param nom_fichier nom du fichier à charger
 * @return code erreur.
 */
int charger (t_matrice* matrice,
			 t_clause** tab_clauses,
			 t_litteral** tab_variables,
			 char nom_fichier[]
			 );

/**
 * Affiche la structure de stockage de la matrice, utile à des fins de debug.
 * @param matrice Matrice
 */
void afficher_tableau (t_matrice* matrice);

/**
 * Affiche le tableau des clauses.
 * @param tab_clauses tableau des clauses
 * @param nb_clauses nombre de clauses
 */
void afficher_tab_clauses (t_clause* tab_clauses, int nb_clauses);

/**
 * Affiche le tableau des variables.
 * @param tab_variables tableau des variables
 * @param nb_var nombre de varaibles
 */
void afficher_tab_variables (t_litteral* tab_variables, int nb_var);

/**
 * Affiche l'ensemble des clauses de la matrice.
 * @param matrice Matrice
 * @param tab_clauses tableau de clauses
 */
void afficher_clauses (t_matrice* matrice, t_clause* tab_clauses);
#endif
